﻿#ifndef QDISKMONITOR_H
#define QDISKMONITOR_H

#include <QString>
#include <QList>

struct DiskUseInfo {
    QString driveLetter; // Drive letter or mount point
    QString fileSystem;  // File system type (e.g., NTFS, ext4)
    QString driveType;   // Drive type (e.g., Local Disk, Network Drive)
    uint64_t totalSize;  // Total size in MB
    uint64_t usageSize;  // Used size in MB
};

class QDiskMonitor {
public:
    QDiskMonitor();
    ~QDiskMonitor();

    QList<DiskUseInfo> getAllDiskUseInfo();

private:
#ifdef Q_OS_WIN
    QList<DiskUseInfo> getDiskUseInfoWindows();
#else
    QList<DiskUseInfo> getDiskUseInfoLinux();
#endif
};

#endif // QDISKMONITOR_H
